﻿namespace Quail.DbLogger
{
    /// <summary>
    /// The Quail DB Logger Entry class
    /// </summary>
    public interface IQuailDbLoggerEntry
    {
        /// <summary>
        /// Called to store the data to the quail object context
        /// </summary>
        /// <param name="dataContext">The data context to use.</param>
        void Store(QuailServices.QuailDataServiceReference.QuailDataServiceClient dataContext);

        /// <summary>
        /// Returns a string representation of the entry for logging purposes
        /// </summary>
        /// <returns>A log string</returns>
        string GetLogDetail();

        /// <summary>
        /// Gets or sets a variable to track # of failures
        /// </summary>
        int FailCounter { get; set; }
    }
}
